/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package analisador.classesDeIdentificadores;

import java.util.Collection;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;

/**
 *
 * @author Augusto
 */
public class Simbolo {
    protected String nome;
    protected String categoria;
    protected int nivelDeclarado;
    private int deslocamento;

    public Simbolo( String nome, String categoria )
    {
        this.nome = nome;
        this.categoria = categoria;
        this.nivelDeclarado = 0;
    }
    
    public void print()
    {
        System.out.println( this.nome +"    -   "+this.categoria );
          
    }

    public int getDeslocamento() {
        return deslocamento;
    }
    
    public String getNome()
    {
        return this.nome;
    }
    
    public String getCategoria()
    {
        return this.categoria;
    }
    
    public void setNivelDeclarado( int nd)
    {
        this.nivelDeclarado = nd;
    }
    
    public int getNivelDeclarado()
    {
        return this.nivelDeclarado;
    }

    public void setDeslocamento(int i) {
        this.deslocamento = i;
    }

    public void setTipoConstante(String tipoConstante) {
        //sobrescrito pela subclasse
    }

    public boolean isValorConstanteBoolean() {
        return false;
    }

    public void setValorConstanteBoolean(boolean valorConstanteBoolean) {
        
    }

    public int getValorConstanteInteiro() {
        return 0;
    }

    public void setValorConstanteInteiro(int valorConstanteInteiro) {
        
    }

    public double getValorConstanteReal() {
        return 0.0;
    }

    public void setValorConstanteReal(double valorConstanteReal) {
        
    }

    public String getValorConstanteLiteral() {
        return "";
    }

    public void setValorConstanteLiteral(String valorConstanteLiteral) {
        
    }

    public void setTipoVariavel(String tipoAtual) {
        //método sobrescrito pela subclasse
    }

    public void setMpp(String mpp) {
        //método sobrescrito pela subclasse
    }

    public String getTipoVariavel() {
        //método sobrescrito pela subclasse
        return "";
    }

    public void setTipoRetorno(String tipoAtual) {
        //método sobrescrito pela subclasse
    }

    public String getTipoConstante() {
        //método sobrescrito pela subclasse
        return "";
    }

    public void setTipoElementos(String tipoElementosVetor) {
        //método sobrescrito pela subclasse
        
    }

    public void setnDimensoes(int numeroDimensoesVetor) {
       //método sobrescrito pela subclasse
    }

    public void setTipoLimiteInferiorDim1(String tipoLimiteInferiorDim1) {
        //método sobrescrito pela subclasse
    }

    public void setValorInteiroInferiorDim1(int valorInteiroInferiorDim1) {
        //método sobrescrito pela subclasse
    }

    public void setValorCaracterInferiorDim1(String valorCaracterInferiorDim1) {
       //método sobrescrito pela subclasse
    }

    public void setTipoLimiteSuperiorDim1(String tipoLimiteSuperiorDim1) {
        //método sobrescrito pela subclasse
    }

    public void setValorInteiroSuperiorDim1(int valorInteiroSuperiorDim1) {
       //método sobrescrito pela subclasse
    }

    public void setValorCaracterSuperiorDim1(String valorCaracterSuperiorDim1) {
        //método sobrescrito pela subclasse
    }

    public void setTipoLimiteInferiorDim2(String tipoLimiteInferiorDim2) {
        //método sobrescrito pela subclasse
    }

    public void setValorInteiroInferiorDim2(int valorInteiroInferiorDim2) {
        //método sobrescrito pela subclasse
    }

    public void setValorCaracterInferiorDim2(String valorCaracterInferiorDim2) {
        //método sobrescrito pela subclasse
    }

    public void setTipoLimiteSuperiorDim2(String tipoLimiteSuperiorDim2) {
       //método sobrescrito pela subclasse
    }

    public void setValorInteiroSuperiorDim2(int valorInteiroSuperiorDim2) {
        //método sobrescrito pela subclasse
    }

    public void setValorCaracterSuperiorDim2(String valorCaracterSuperiorDim2) {
       //método sobrescrito pela subclasse
    }

    public String tipoConstante() {
       //método sobrescrito pela subclasse SimboloConstante
        return "";
    }
}
